home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / games / kenka / kenka2s.lzh / title.inc < prev    next >
Encoding:
Text File  |  1998-09-07  |  7.0 KB  |  349 lines

  1. *---------------------------------------
  2. *
  3. *    â^âCâgâïò\Ī
  4. *
  5. *    by Shiroh Nakaya
  6. *
  7. *---------------------------------------
  8. title_display:
  9.     V_WAIT
  10.     movea.l    #GRAPH_SCROLL,a0
  11.     move.l    #$00000100,(a0)+
  12.     move.l    #$00000100,(a0)+
  13.     move.l    #$00000100,(a0)+
  14.     move.l    #$00000100,(a0)
  15.  
  16.     move.w    #$0000,BG_CTRL            * âXâvâëâCâgò\Īénéeée
  17.  
  18.     moveq.l    #$23,d0
  19.     moveq.l    #5,d1
  20.     moveq.l    #12,d2
  21.     trap    #15                * IOCS _B_LOCATE
  22.     moveq.l    #$21,d0
  23.     lea.l    mode_select_mess_1(pc),a1
  24.     trap    #15                * IOCS _B_PRINT
  25.  
  26.     moveq.l    #$23,d0
  27.     moveq.l    #5,d1
  28.     moveq.l    #13,d2
  29.     trap    #15                * IOCS _B_LOCATE
  30.     moveq.l    #$21,d0
  31.     lea.l    mode_select_mess_2(pc),a1
  32.     trap    #15                * IOCS _B_PRINT
  33.     moveq.l    #$1f,d0
  34.     trap    #15                * IOCS _B_CUROFF
  35.  
  36.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  37.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  38. @@:
  39.     tst.b    OPM_DATA
  40.     bmi    @b
  41.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  42.     bset    #7,OPM_DATA
  43.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  44.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  45.     move.b    #$04,$00e840c6
  46.     move.b    #$05,$00e840e9
  47.     move.b    #$01,$00e840ed
  48.     move.b    #$05,$00e840f1
  49.     move.b    #$72,$00e840c5
  50.     st    $00e840c0
  51.     move.l    #adpcm_data+GYOH,$00e840cc    * ô]æùî│âAâhâîâX
  52.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  53.     move.w    #706,$00e840ca            * ô]æùâTâCâY
  54.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  55.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  56.  
  57.     move.w    #360-1,d7            * â^âCâgâïò\Īé═éUòbè╘
  58. mode_select_loop:
  59.     btst    #1,KEY_TBL.w            * édérébâLü[é¬ëƒé│éΩé╜ÅΩìçâQü[âÇÅIù╣
  60.     beq    @f
  61.     clr.w    d0
  62. 1:
  63.     btst    #1,KEY_TBL.w            * édérébâLü[é¬ëƒé│éΩé┴é╧é╚é╡é╠Ä₧é╠Åêù¥
  64.     bne    1b
  65.     rts
  66.  
  67. @@:
  68.     movea.w    #KEY_TBL,a4            * éhénérébâÅü[âNù╠êµ
  69.     btst    #3,12(a4)            * éeéPâLü[é¬ëƒé│éΩé╜ÅΩìç
  70.     beq    @f
  71.     bsr    high_score_save            * ânâCâXâRâAâZü[âu
  72. @@:
  73.     bsr    joy_0
  74.     btst    #6,d0
  75.     bne    @f
  76.     move.w    #0,c_or_h
  77.     bra    mode_select_exit
  78. @@:
  79.     bsr    joy_1
  80.     btst    #6,d0
  81.     bne    @f
  82.     move.w    #1,c_or_h
  83.     bra    mode_select_exit
  84. @@:
  85.     V_WAIT
  86.     dbra    d7,mode_select_loop
  87.  
  88.     moveq.l    #$23,d0
  89.     moveq.l    #5,d1
  90.     moveq.l    #12,d2
  91.     trap    #15                * IOCS _B_LOCATE
  92.     moveq.l    #$21,d0
  93.     lea.l    no_mess(pc),a1
  94.     trap    #15                * IOCS _B_PRINT
  95.  
  96.     moveq.l    #$23,d0
  97.     moveq.l    #5,d1
  98.     moveq.l    #13,d2
  99.     trap    #15                * IOCS _B_LOCATE
  100.     moveq.l    #$21,d0
  101.     lea.l    no_mess(pc),a1
  102.     trap    #15                * IOCS _B_PRINT
  103.  
  104.     moveq.l    #$23,d0
  105.     moveq.l    #5,d1
  106.     moveq.l    #13,d2
  107.     trap    #15                * IOCS _B_LOCATE
  108.     moveq.l    #$21,d0
  109.     lea.l    demo_mess(pc),a1
  110.     trap    #15                * IOCS _B_PRINT
  111.  
  112.     move.w    high_score(pc),d0
  113.     bsr    bin2str_score
  114.     moveq.l    #$23,d0                * ânâCâXâRâAò\Ī
  115.     moveq.l    #12,d1
  116.     moveq.l    #1,d2
  117.     trap    #15                * IOCS _B_LOCATE
  118.     moveq.l    #$21,d0
  119.     lea.l    high_score_mess(pc),a1
  120.     trap    #15                * IOCS _B_PRINT
  121.     moveq.l    #$21,d0
  122.     lea.l    score_mess_2(pc),a1
  123.     trap    #15                * IOCS _B_PRINT
  124.  
  125.     move.w    stage_high_score(pc),d0
  126.     bsr    bin2str_score
  127.     moveq.l    #$23,d0                * âXâeü[âWânâCâXâRâAò\Ī
  128.     moveq.l    #4,d1
  129.     moveq.l    #3,d2
  130.     trap    #15                * IOCS _B_LOCATE
  131.     moveq.l    #$21,d0
  132.     lea.l    stage_high_score_mess(pc),a1
  133.     trap    #15                * IOCS _B_PRINT
  134.     moveq.l    #$21,d0
  135.     lea.l    high_score_mess(pc),a1
  136.     trap    #15                * IOCS _B_PRINT
  137.     moveq.l    #$21,d0
  138.     lea.l    score_mess_2(pc),a1
  139.     trap    #15                * IOCS _B_PRINT
  140.     moveq.l    #$1f,d0
  141.     trap    #15                * IOCS _B_CUROFF
  142.  
  143.     lea.l    p1_joy_chg+2(pc),a0        * Ä⌐î╚Åæé½è╖éª
  144.     move.w    #joy_cpu-(p1_joy_chg+2),(a0)
  145.  
  146.     lea.l    p2_joy_chg+2(pc),a0
  147.     move.w    #joy_cpu-(p2_joy_chg+2),(a0)
  148.  
  149.     lea.l    demo_process(pc),a0
  150.     move.w    #$6000,(a0)+            * braé╠âRü[âh
  151.     move.w    #demo_start-(demo_process+2),(a0)
  152.  
  153.     lea.l    main_loop(pc),a0
  154.     move.w    #$6000,(a0)+            * braé╠âRü[âh
  155.     move.w    #joy_chk-(main_loop+2),(a0)
  156.  
  157.     lea.l    demo_exit(pc),a0
  158.     move.w    #$4e75,(a0)+            * rtsé╠âRü[âh
  159.  
  160.     movea.l    #pal_data+320,a2        * ô┴ÄΩî°ë╩âpâîâbâgÉ▌ÆΦ
  161.     movea.l    #SP_PALETTE+96,a6
  162.     moveq.l    #32-1,d0
  163. @@:
  164.     move.l    (a2)+,(a6)+
  165.     dbra    d0,@b
  166.  
  167.     lea.l    v_sp_reg,a6            * ë╝æzâXâNâìü[âïâîâWâXâ^é≡âNâèâA
  168.     move.w    #70-1,d0
  169. @@:
  170.     clr.l    (a6)+
  171.     dbra    d0,@b
  172.  
  173.     addq.w    #1,demo_chara
  174.     andi.w    #$0007,demo_chara
  175.     move.w    demo_chara(pc),d7
  176.  
  177.     lea.l    P2_DATA(a5),a1
  178.     clr.w    C_COL(a1)
  179.     move.w    d7,C_NO(a1)
  180.     move.w    #208,C_X(a1)
  181.     move.w    #128,C_Y(a1)
  182.     move.w    #1,C_LR_F(a1)
  183.     movea.l    #PCG_DOWN,a2
  184.     movea.l    #SP_PALETTE+64,a3
  185.     bsr    chara_set
  186.  
  187.     lea.l    P2_A_DATA(a5),a1
  188.     clr.w    C_M_F(a1)
  189.  
  190.     lea.l    P2_H_DATA(a5),a1
  191.     clr.w    C_M_F(a1)
  192.  
  193.     lea.l    P2_V_DATA(a5),a1
  194.     move.w    #240,C_Y(a1)
  195.  
  196.     addq.w    #1,d7
  197.     andi.w    #$0007,d7
  198.     movea.l    a5,a1
  199.     clr.w    C_COL(a1)
  200.     move.w    d7,C_NO(a1)
  201.     move.w    #80,C_X(a1)
  202.     move.w    #128,C_Y(a1)
  203.     clr.w    C_LR_F(a1)
  204.     movea.l    #PCG_UP,a2
  205.     movea.l    #SP_PALETTE+32,a3
  206.     bsr    chara_set
  207.  
  208.     lea.l    P1_A_DATA(a5),a1
  209.     clr.w    C_M_F(a1)
  210.  
  211.     lea.l    P1_H_DATA(a5),a1
  212.     clr.w    C_M_F(a1)
  213.  
  214.     lea.l    P1_V_DATA(a5),a1
  215.     move.w    #240,C_Y(a1)
  216.  
  217.     bsr    vs_move
  218.  
  219.     moveq.l    #$23,d0                * ânâCâXâRâAò\ĪÅ┴ïÄ
  220.     moveq.l    #12,d1
  221.     moveq.l    #1,d2
  222.     trap    #15                * IOCS _B_LOCATE
  223.     moveq.l    #$21,d0
  224.     lea.l    no_mess(pc),a1
  225.     trap    #15                * IOCS _B_PRINT
  226.     moveq.l    #$23,d0                * âXâeü[âWânâCâXâRâAò\ĪÅ┴ïÄ
  227.     moveq.l    #4,d1
  228.     moveq.l    #3,d2
  229.     trap    #15                * IOCS _B_LOCATE
  230.     moveq.l    #$21,d0
  231.     lea.l    no_mess(pc),a1
  232.     trap    #15                * IOCS _B_PRINT
  233.  
  234.     bra    title_display
  235.  
  236. mode_select_exit:
  237.     moveq.l    #$23,d0
  238.     moveq.l    #5,d1
  239.     moveq.l    #12,d2
  240.     trap    #15                * IOCS _B_LOCATE
  241.     moveq.l    #$21,d0
  242.     lea.l    no_mess(pc),a1
  243.     trap    #15                * IOCS _B_PRINT
  244.  
  245.     moveq.l    #$23,d0
  246.     moveq.l    #5,d1
  247.     moveq.l    #13,d2
  248.     trap    #15                * IOCS _B_LOCATE
  249.     moveq.l    #$21,d0
  250.     lea.l    no_mess(pc),a1
  251.     trap    #15                * IOCS _B_PRINT
  252.     moveq.l    #$1f,d0
  253.     trap    #15                * IOCS _B_CUROFF
  254.  
  255.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  256.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  257. @@:
  258.     tst.b    OPM_DATA
  259.     bmi    @b
  260.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  261.     bset    #7,OPM_DATA
  262.     move.b    #$04,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  263.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  264.     move.b    #$04,$00e840c6
  265.     move.b    #$05,$00e840e9
  266.     move.b    #$01,$00e840ed
  267.     move.b    #$05,$00e840f1
  268.     move.b    #$72,$00e840c5
  269.     st    $00e840c0
  270.     move.l    #adpcm_data+DOKA,$00e840cc    * ô]æùî│âAâhâîâX
  271.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  272.     move.w    #896,$00e840ca            * ô]æùâTâCâY
  273.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  274.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  275.  
  276.     move.w    #60-1,d0            * é┐éσéóé╞é╡é╜âEâGâCâgüiû±éPòbüj
  277. @@:
  278.     V_WAIT
  279.     dbra    d0,@b
  280.  
  281.     rts
  282. *---------------------------------------
  283. *     ô╛ô_âfü[â^é≡ò╢ÄÜù±é╔ò╧è╖
  284. *
  285. bin2str_score:
  286.     lea.l    score_mess_2(pc),a0
  287.     addq.l    #1,a0
  288.     lea.l    exp_tbl(pc),a1
  289.     moveq.l    #5-1,d1
  290. score_display_loop:
  291.     move.w    (a1)+,d3
  292.     moveq.l    #0,d2
  293. 1:
  294.     sub.w    d3,d0
  295.     bcs    @f
  296.     addq.w    #1,d2
  297.     bra    1b
  298. @@:
  299.     add.w    d3,d0
  300.     tst.w    d2
  301.     beq    2f
  302. 1:
  303.     add.b    #'0',d2
  304.     move.b    d2,(a0)+
  305.     bra    @f
  306. 2:
  307.     cmpi.b    #' ',-1(a0)
  308.     bne    1b
  309.     tst.w    d1
  310.     beq    1b
  311.     move.b    #' ',(a0)+
  312. @@:
  313.     dbra    d1,score_display_loop
  314.  
  315.     rts
  316. *---------------------------------------
  317. *     ânâCâXâRâAâZü[âu
  318. *
  319. high_score_save:
  320.     move.w    #1,-(sp)
  321.     pea.l    file_name
  322.     .dc.w    $FF3D            * DOS _OPEN
  323.     addq.l    #6,sp
  324.     move.w    d0,d1
  325.     bmi    @f
  326.  
  327.     move.l    #4,-(sp)
  328.     pea.l    high_score
  329.     move.w    d1,-(sp)
  330.     .dc.w    $FF40            * DOS _WRITE
  331.     lea.l    10(sp),sp
  332.  
  333.     move.w    d1,-(sp)
  334.     .dc.w    $FF3E            * DOS _CLOSE
  335.     addq.l    #2,sp
  336. @@:
  337.     rts
  338. *---------------------------------------
  339.     .even
  340. demo_chara:
  341.     .dc.w    0
  342. exp_tbl:
  343.     .dc.w    10000
  344.     .dc.w    1000
  345.     .dc.w    100
  346.     .dc.w    10
  347.     .dc.w    1
  348. *---------------------------------------
  349.